package com.ruoyi.crm.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 合同订单对象 order_contract
 *
 * @author ruoyi
 * @date 2021-08-27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String id;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNo;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 签约日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签约日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractDate;

    /** 销售负责人 */
    @Excel(name = "销售负责人")
    private String staffFollower;

    /** 已收金额 */
    @Excel(name = "已收金额")
    private String collectionAcy;

    /** 应收金额 */
    @Excel(name = "应收金额")
    private String collectionAcs;

    /** 合计 */
    @Excel(name = "合计")
    private String totalSum;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private String approvalStatus;

    /** 销售机会 */
    @Excel(name = "销售机会")
    private String oppoName;

    /** 询价单号 */
    @Excel(name = "询价单号")
    private String documentNo;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String status;

    /** 交付日期 */
    @Excel(name = "交付日期")
    private String deliverDate;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 物流公司 */
    @Excel(name = "物流公司")
    private String logisticsCompany;

    /** 物流单号 */
    @Excel(name = "物流单号")
    private String logisticsOrder;

    /** 数量合计 */
    @Excel(name = "数量合计")
    private String amount;

    /** 条款与条件 */
    @Excel(name = "条款与条件")
    private String condition;

    /** 评论信息 */
    @Excel(name = "评论信息")
    private String comment;

    /** $table.subTable.functionName信息 */
    private List<CustomerProduct> customerProductList;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setContractNo(String contractNo)
    {
        this.contractNo = contractNo;
    }

    public String getContractNo()
    {
        return contractNo;
    }
    public void setCustomerName(String customerName)
    {
        this.customerName = customerName;
    }

    public String getCustomerName()
    {
        return customerName;
    }
    public void setContractDate(Date contractDate)
    {
        this.contractDate = contractDate;
    }

    public Date getContractDate()
    {
        return contractDate;
    }
    public void setStaffFollower(String staffFollower)
    {
        this.staffFollower = staffFollower;
    }

    public String getStaffFollower()
    {
        return staffFollower;
    }
    public void setCollectionAcy(String collectionAcy)
    {
        this.collectionAcy = collectionAcy;
    }

    public String getCollectionAcy()
    {
        return collectionAcy;
    }
    public void setCollectionAcs(String collectionAcs)
    {
        this.collectionAcs = collectionAcs;
    }

    public String getCollectionAcs()
    {
        return collectionAcs;
    }
    public void setTotalSum(String totalSum)
    {
        this.totalSum = totalSum;
    }

    public String getTotalSum()
    {
        return totalSum;
    }
    public void setApprovalStatus(String approvalStatus)
    {
        this.approvalStatus = approvalStatus;
    }

    public String getApprovalStatus()
    {
        return approvalStatus;
    }

    public List<CustomerProduct> getCustomerProductList()
    {
        return customerProductList;
    }

    public void setCustomerProductList(List<CustomerProduct> customerProductList)
    {
        this.customerProductList = customerProductList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("contractNo", getContractNo())
                .append("customerName", getCustomerName())
                .append("contractDate", getContractDate())
                .append("staffFollower", getStaffFollower())
                .append("collectionAcy", getCollectionAcy())
                .append("collectionAcs", getCollectionAcs())
                .append("updateTime", getUpdateTime())
                .append("totalSum", getTotalSum())
                .append("approvalStatus", getApprovalStatus())
                .append("customerProductList", getCustomerProductList())
                .toString();
    }
}